
function fu(){
    var arr=[];
    for (let i = 1; i <= 3; i++) {
        arr.push(()=>i*i);
    }
    return arr;
}

console.log(fu()[0]());
console.log(fu()[1]());
console.log(fu()[2]());


function fun() {
    var arr = [];
    for (var i = 1; i <= 3; i++) {
        arr.push(((n) => () => n * n)(i))
    }
    return arr;
}


console.log(fun()[0]());
console.log(fun()[1]());
console.log(fun()[2]());



// 函数都有自己的执行环境，该环境定义了变量或者函数访问数据的权限，当离开执行环境后，该环境内的变量会被销毁。

class person{
    fun(n) {
        console.log(n);
    }
}


new person().fun(23);






















































